package com.me.template4j.util.encrypt;


import org.mindrot.jbcrypt.BCrypt;

/**
 * BCrypt 加密方式 springSecurity御用的最强加密法
 */
public class BCryptEncrypt implements Encrypt{
    @Override
    public String encoded(String str) {
        String psw = BCrypt.hashpw(str, BCrypt.gensalt());
        return psw;
    }

    @Override
    public String decoded(String str) {
        // BCrypt不需要解码，因为他无法解密
        return null;
    }


    @Override
    public boolean compare(String encodePassword, String originPassword) {
        boolean isPass = BCrypt.checkpw(originPassword, encodePassword);
        return isPass;
    }
}
